The invention pertains to a universal motion control with an engineering system and a run-time system, which functionally combines the classical tasks of a programmable logic controller and a numerical controller.
It is common today to model different hierarchical run levels both for the programmable logic controller xe2x80x9cPLCxe2x80x9d and also for the motion control xe2x80x9cNCxe2x80x9d, wherein the software tasks of the run levels are allocated to control the particular technical process.
These tasks can fulfill system tasks, but they can also be user-programmed.
It is also known that for a programmable logic controller PLC, and also for a motion controller NC, application programs or tasks prepared by the user can be loaded into the memory of the particular controller and then executed.
From DE 197 40 550 A1 it is known that process control functionalities of the programmable logic controller PLC and motion functionalities of NC controller can be integrated into a consistently configurable control system. This PLC/NC-integration takes place in the form of the interconnection of PLC and NC control assemblies.
But in this design of the integration, an optimum and efficient task structure cannot be obtained for the control tasks. In addition, with regard to process control, and also with regard to the motion control, expanded functionality can only be loaded afterwards in the form of application programs and then executed.
Therefore, the invention is based on the problem of creating optimum operation of the combined PLC/NC control in a simple manner for different control problems and different initial conditions or requirements of the underlying technical process, both with regard to their control structure and also with regard to their functionality.
The inventors thus began with the idea that by means of a consistently configurable run-level model for the control tasks of the combined PLC/NC control and the possibility of dynamic loading of function code into the run-time system and/or engineering system of the control, an optimum operation of a universal motion control must be possible.
According to this invention, the problem stated above for a motion controller of the type defined above, is solved in that it has several run levels of various types with different priorities, wherein different user levels and system levels are provided, from greatest to lowest priority, and that technology packets can be loaded on the user side into the engineering and/or run-time system, wherein these packets contain:
a) code parts, which represent the specifics of the rules for the run-time system, and
b) a configuration part which contains the allocation of these code parts to the particular system levels, and also their processing sequence, where
c) if necessary, this information of the configuration part can be passed along to the engineering system.
In addition to a reduction in the communications expense within the tasks of the control, and the simplified programming of process control and motion control in a consistent programming language with a consistent preparation interface, an important advantage of the invention resides in the fact that, by loading of software, the potential for scalability will appear for the run-time system of the control. Thus, the user can begin from a base system of the control and expand the available command library of this base system dynamically, depending on the particular requirements of the fundamental technological process or the control task. In this case, the base system forms the scope of operations of the run-time system of a controller, namely a real-time operating system, a run system (with system levels and applications levels), technology object types, programming language commands, the PLC available command library as well as communication interfaces (e.g., LAN, E/A) and technology interfaces (e.g., drives, transducers) for the technical process. Therefore, in the base system we find the necessary basic functionality of a controller. Thus base system can run on different HW platforms (e.g., PC, driver, . . . ).
Another advantage resides in the development and in the production of these scalable universal controls. Controls that are supplied with a necessary baseline functionality (base system) can be easily produced in large quantities (economies of scale).
The user can then expand the existing baseline system by those specific functionalities that are actually needed for his applications.
A first embodiment of the invention resides in the fact that each technology packet contains an adapted number of technology object types for the run-time system.
Thus it is possible to load in even complex and demanding control functionalities in a concise and understandable form to the run-time system.
An additional preferred ebodiment of the invention resides in the fact that the additional operator interface information, in particular the operating parameters and/or programming language features and/or declaration parts can be allocated to the code parts.
This results in the following advantages:
In order to be able to use a technology object type not only as no longer changeable constants, the technology object type must inform the initial system of the possibilities for parameterization for its particular technology objects, and in particular, the available operating parameters. Thus, the user has the possibility to provide flexible parameters to a technology object in the interface of the initial system.
Because even programming language features can be loaded into the run-time system, it is possible that the available command library of the run-time system can be expanded dynamically. In user program, the user can use this kind of loaded command as if it were a command of the base functionality of the base system.
If an user program with a loaded command of this type is processed within an user level of the run-level model, then when this loaded command is called, the associated code sequence of the operating system can be processed at one of the system levels of the run-level model. This takes place without any intervention of the user. Due to the allocation of declaration parts and description parts to the code parts of the technology packet, the flexibility for the user will be further increased.
An additional favorable configuration of the underlying invention resides in the fact that commands, which expand the scope of the programming language of the engineering system are present in the technology packet, and can be used by the operator if necessary. Thus, the available command library of the engineering system can be expanded by commands and operators that are necessary for manipulation of the technology objects of the loaded technology packet. This expanded available command library is tailored to the particular loaded technology packets. Thus, the user can easily use the functionalities of the loaded technology object types in his user programs.
An additional favorable configuration of the underlying invention resides in the fact that the control has an interface for the injection of technology object types. This interface can be used as a middleware platform in order to load functionalities of industry-specific technologies (e.g., coiling of springs, injection molding, etc.) in the form of technology object types. These loadable technology object types need not be proprietary, but rather they can be produced by external manufacturers or suppliers. Thus the user is no longer restricted to the control supplier for the expansion of the functionality of his control. Due to the consistent and open interface he can easily integrate specific commercially available technology objects on a plug and play basis into his existing control.
The essential advantages attained with the invention thus consist in particular in the fact that in a consistently configurable run-level model of a universal motion control, i.e., of a combined PLC/NC control, new functionalities can be very easily incorporated because so-called technology packets can be loaded dynamically. First, these technology packets contain elements that dynamically expand the command set of the underlying run-time system, and second, they contain programming language features that can be used in the engineering system by the user for certain of his user programs. A control of this type can thus be delivered with a base functionality so that common control tasks can be carried out. The user can build successively on this base to expand the functions so that the control functionality that is actually needed will be created. In the controls common today, a functional configuration is automatically supplied which is needed by only a fraction of users. Normally a user will not need a majority of the commonly supplied control functionality for his tasks and user. But if a user needs specific control functionalities, then he has to use the available programming language of the control to make his own complicated and cumbersome user program. Then he can load a self-prepared user program into the run-level model of the run-time system into an user level. But in the underlying invention, this problem is solved in that additionally required, specific functionalities are loaded in the form of technology packets into the system level of the run-time system and not into the user level. In the present invention the command set of the base-system or run-time system can be expanded by loading programs. These loaded commands can then be used by the operator of the engineering system and because these newly loaded commands are executed in the system level, it is possible for them to be executed very quickly.
Another important advantage rests in the fact that due to an open interface, a platform is created into which not only proprietary, but also externally produced technology objects can be easily integrated. Thus, the prerequisite is created for a market for technology objects with specific requirements, operations and functionalities.